Conventional systems for accessing content in home networks include mechanisms and frameworks that do so on a single-device basis. Examples include frameworks such as Universal Plug and Play (UPnP), HAVi, Jini, and Microsoft-compatible networks (e.g., Samba). Features of these frameworks include dynamic discovery of devices and content on the network, and support for a wide range of device and content types.
Such conventional systems have several shortcomings however. For example, in order for a user to access content in a network, the user must be aware of which devices are connected to the network, and which content is resident on which device. Similarly, software developers who wish to write applications must be aware of all or a subset of content in the network such as an audio jukebox. Software developers must implement their applications in a way that must account for the different types of devices that may be connected, the actual instantiations of the devices, and the semantics for browsing and searching these using the devices' directory and communication-related protocols. Likewise a user must manage duplicates and backing up of data, and the like.